package top.infopub.mgr.bpa.service;

import com.github.pagehelper.Page;
import top.infopub.mgr.bpa.domain.BpaProjectDomain;
import top.infopub.mgr.bpa.domain.ContractLedgerDomain;
import top.infopub.mgr.bpa.domain.ContractNegDomain;
import top.infopub.mgr.bpa.dto.ContractNegDto;
import top.infopub.mgr.bpa.jsonVo.ContractNegJsonVo;
import top.infopub.mgr.bpa.vo.ContractManageVo;
import top.infopub.mgr.bpa.vo.ContractPublicVo;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.model.bpa.BpaContractNeg;
import top.infopub.model.cap.LookInfo;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.security.vo.AuthorizationVO;

import java.text.ParseException;
import java.util.List;

public interface ContractNegService {
    Page<ContractNegDomain> selectByDomainWhere(Page<ContractNegDomain> page, ContractPublicVo contractPublicVo);

    /*对外合同台账*/
    Page<ContractLedgerDomain> selectByLedger(Page<ContractLedgerDomain> page,
                                              ContractManageVo contractManageVo) throws ParseException;

    ContractNegJsonVo queryDetailById(String id);

    RspVo saveAll(AuthorizationVO userDtl, BpaContractNeg contractNeg, List<ProjectAttachment> attachmentList, String bodyStr, Integer submitType);

    List<BpaProjectDomain> queryByProCode();

    BpaContractNeg selectBySguid(String id);
}
